#pragma once
#include "ActionCard.h"

class HealthPotion : public ActionCard
{
public:
	static wstring localName;
	static list<wstring> localDescription;
	static SDL_Surface* localPicture;
	static SDL_Texture* localTexture;
	HealthPotion();
	virtual bool canSelect(int x, int y);
	virtual int activate(int x, int y);
	virtual int enemyActivate(int x, int y);
};

class Lightning : public ActionCard
{
public:
	static wstring localName;
	static list<wstring> localDescription;
	static SDL_Surface* localPicture;
	static SDL_Texture* localTexture;
	Lightning();
	virtual bool canSelect(int x, int y);
	virtual int activate(int x, int y);
	virtual int enemyActivate(int x, int y);
};

class FireBall : public ActionCard
{
public:
	static wstring localName;
	static list<wstring> localDescription;
	static SDL_Surface* localPicture;
	static SDL_Texture* localTexture;
	FireBall();
	virtual bool canSelect(int x, int y);
	virtual int activate(int x, int y);
	virtual int enemyActivate(int x, int y);
};

class SpeedUpBoot : public ActionCard
{
public:
	static wstring localName;
	static list<wstring> localDescription;
	static SDL_Surface* localPicture;
	static SDL_Texture* localTexture;
	SpeedUpBoot();
	virtual bool canSelect(int x, int y);
	virtual int activate(int x, int y);
	virtual int enemyActivate(int x, int y);
};

class Blizzard : public ActionCard
{
public:
	static wstring localName;
	static list<wstring> localDescription;
	static SDL_Surface* localPicture;
	static SDL_Texture* localTexture;
	Blizzard();
	virtual bool canSelect(int x, int y);
	virtual int activate(int x, int y);
	virtual int enemyActivate(int x, int y);
};

class Patination : public ActionCard
{
public:
	static wstring localName;
	static list<wstring> localDescription;
	static SDL_Surface* localPicture;
	static SDL_Texture* localTexture;
	Patination();
	virtual bool canSelect(int x, int y);
	virtual int activate(int x, int y);
	virtual int enemyActivate(int x, int y);
};

class RagePotion : public ActionCard
{
public:
	static wstring localName;
	static list<wstring> localDescription;
	static SDL_Surface* localPicture;
	static SDL_Texture* localTexture;
	RagePotion();
	virtual bool canSelect(int x, int y);
	virtual int activate(int x, int y);
	virtual int enemyActivate(int x, int y);
};

class Stimulate : public ActionCard
{
public:
	static wstring localName;
	static list<wstring> localDescription;
	static SDL_Surface* localPicture;
	static SDL_Texture* localTexture;
	Stimulate();
	virtual bool canSelect(int x, int y);
	virtual int activate(int x, int y);
	virtual int enemyActivate(int x, int y);
};